1. Field of the Invention
Methods and apparatuses consistent with the present invention relate to a home network, and more particularly, to a method of processing an action based on universal plug and play (UPnP) technology, a method of controlling a device, a controlled device controlled using the method, and a control point.
2. Description of the Related Art
In general, a home network is constructed using an Internet protocol (IP). In the home network, various devices used at home such as different types of personal computers (PCs), intelligent products, wireless devices, and the like are connected in a common virtual computing environment called a middleware in order to be controlled.
The middleware allows various digital devices to connect to each other in a peer-to-peer manner and communicate with each other. Examples of the middleware include home audio/video interoperability (HAVi), universal plug and play (UPnP), java intelligent network infra-structures (Jini), and home wide web (HWW).
After a plug and play (PnP) function is added to a current operating system (OS), installing and setting PC peripheral devices becomes easier. UPnP is a technology for expanding a function to the entire network on the basis of Internet standard technologies such as transmission control protocol/internet protocol (TCP/IP), hypertext transfer protocol (HTTP), and extensible markup language (XML) so as to enable network devices such as various domestic appliances, network printers, and Internet gateways to perform networking, and more particularly, home networking.
A UPnP network includes a controlled device which is connected to an IP-based home network and a control point for controlling the controlled device. The UPnP network allows the control point and the controlled device to communicate with each other through operations as presented below by using a UPnP protocol stack structure including Internet protocols such as the TCP/IP and the HTTP and technologies such as the XML and simple object access protocol (SOAP).
The first step is an addressing operation wherein the control point and the controlled device have their IP addresses allocated. When the controlled device participates in the network, the controlled device receives its IP address by using a dynamic host configuration protocol (DHCP), or if no DHCP server is available in the network, the controlled device uses its IP address by using an auto IP function.
The second step is a discovery operation wherein the control point searches for the controlled device or the controlled device advertises its location. The discovery operation is performed by using a simple service discovery protocol (SSDP). When the controlled device is added to the network, the controlled device transmits an SSDP alive message to the network by using an IP multicast function. The control point receives the alive message and then knows the existence of the controlled device. On the other hand, when the control point newly joins the network, the control point transmits an SSDP multicast-search (M-search) message to the network, and the controlled devices which check the M-search message transmit M-search response messages including their information to the control point.
The third step is a description operation wherein the control point checks the description of the controlled devices. The control point checks the response message, and as needed, the control point can request detailed information from the controlled devices. The controlled device which receives the request transmits its detail information as an XML document.
The fourth step is a control operation wherein the control point controls functions of the controlled devices to operate the controlled devices. When the control point wants to control a predetermined controlled device, the control point transmits a desired service to the predetermined controlled device on the basis of the detailed information on the predetermined controlled device by using SOAP. SOAP is a protocol written based on the XML of the HTTP for remote function calls.
The fifth step is an event operation wherein the control point receives an event change in the controlled device. When the control point wants to receive an event message from the controlled device, the control point transmits a subscribing request for a corresponding event to the controlled device. When the subscription succeeds, the controlled device transmits the event message to the control point using a general event notification architecture (GENA).
The sixth step is a presentation operation wherein the control point presents a status of the controlled device using the HTML.
FIG. 1 is a conceptual view for describing a conventional UPnP control method.
Referring to FIG. 1, when a control point CP 11 transmits an action request to a controlled device CD 12, the controlled device 12 executes an action and transmits a result of executing the action to the control point 11 as a response. Specifically, the controlled device 12 executes the requested action and transmits a normal processing result or an error message to the control point 11.
FIG. 2 is a conceptual view for explaining a problem occurring with the conventional UPnP control method.
Referring to FIG. 2, when a control point CP 21 is unplugged from a network while a controlled device CD 22 that receives an action request from the control point 21 is executing the action (referred to as action invocation), the action is terminated in a state where the controlled device 22 cannot transmit a normal processing result or an error message to the control point 21.
This does not matter in a normal condition. However, in a case where a specific container is copied in a content directory service (CDS), for example, a specific service file is copied in the controlled device, or content synchronization associated with service information between two or more controlled devices is performed, it takes much time for the controlled device to execute the action. In this case, a user has to periodically check operations of the controlled device or has to enable the control point to be connected to the network until the operations of the controlled device are finished. For example, a UPnP action such as an operation of searching for channel information on a television (TV) and storing the channel information requires much time, so that a time to provide a result of the UPnP action needs to be controlled.